The use of simulations as analysis tools has experienced tremendous growth over the past decade. This growth has caused the evolution of many legacy models which, unfortunately, have evolved using many obsolete programming techniques. Many of these models were developed when graphical user interfaces and graphical display capabilities were either too immature or too expensive to incorporate into the modeling process. It is now well recognized that graphical user interfaces can relay magnitudes of information that text based interfaces can never achieve.
Engagement simulations can generate value based information (such as Probability of Survival, etc.) and output that information to log files or to a display. The analysis of player positions and interactions based on positions in three dimensional space is very difficult to understand in a text based interface. Analysis becomes even more difficult when many simulated players are involved. These difficulties encountered in the analysis of simulations prompted the development of utilities to graphically display the simulation results as a function of simulation time. While these utilities were widely accepted in the simulation community, they were only available for select simulations, and therefore of limited utility.
Generic visualization tools were developed that allowed post-processing analysis. That is, the tools allowed for reading a file of information that held the simulation results to be displayed by the visualization tool. The generic tool then provided the capability for any simulation to create the visualization tool's input data file, allowing the simulation user to "see" the results. Unfortunately, these visualization tools only allowed after-the-fact analysis. A need existed to quickly interface an engagement simulation to a visualization tool on a run-time basis so that the visualization user can "watch" as the simulation progresses.
Interfacing methodologies have been developed to provide a run-time visualization. These methodologies involve software modifications for coding the visualization tool data requirements into the simulation. That is, the interface is designed for the visualization tool's data requirements and the simulation data must be "force fit" into the specific interface. Thus, each simulator/visualization tool combination requires a dedicated interface. Such dedicated interfaces are very costly to develop and debug, and thereby add to the development costs of new simulator and visualization software. Moreover, these dedicated interfaces require recompiling any time simulator or visualization tool variables are changed, thereby reducing their convenience of use. Thus, a need exists for a generic run-time reconfigurable interface that can dynamically adapt the output data of any one computer program to the input requirements of any other computer program. Further, the interface should provide uni- or bi-directional communication between any number of dissimilar computer programs.